package model;

public abstract class EstadoFantasma extends Estado{

	private EstadoFantasma estadoFantasmaAnterior;

	abstract boolean morir(Fantasma yoMismo);

	abstract boolean mover(Fantasma yoMismo);

	abstract boolean comer(Fantasma yoMismo);

	abstract boolean molestar(Fantasma yoMismo);

	abstract boolean reiniciarEstado(Fantasma yoMismo);

	abstract String mostrarEstado(Fantasma yoMismo);

	abstract boolean convertirEnPresa(Fantasma yoMismo);

	boolean isMuerto(){
		return false;
	}

	boolean isPresa(){
		return false;
	}
	
	boolean volverAestadoAnterior(Fantasma yoMismo){
		return false;
	}

	public EstadoFantasma getEstadoFantasmaAnterior() {
		return estadoFantasmaAnterior;
	}

	public void setEstadoFantasmaAnterior(EstadoFantasma estadoFantasmaAnterior) {
		this.estadoFantasmaAnterior = estadoFantasmaAnterior;
	}
}
